In electrical circuits such as these, the components which cooperate with one another frequently do not have the same performance, and in particular they do not operate at the same speed.
One electrical circuit in which this is frequently the case is, by way of example but as is known by no means exclusively, a programmable unit such as a microcontroller.
FIG. 1 shows the fundamental design of a microcontroller. The illustrated microcontroller contains a core C, memory devices S1 to Sn which are connected to the core C via a first bus BUS1, and periphery units P1 to Pn which are connected to the core C via a second bus BUS2.
The memory devices S1 to Sn are, for example, a RAM, a ROM, a flash memory, etc.
The periphery units are, for example, an A/D converter a DMA controller, a coding device, a CAN controller, etc.
The core C    reads commands and operands which are stored in the memory devices S1 to Sn or in an external memory device which is provided outside the microcontroller, and carries out these commands and operands,    and in the process cooperates in a predetermined manner with the memory devices S1 to Sn and with the periphery units P1 to Pn.
Microcontrollers are clock-controlled devices, with the speed at which the microcontroller operates (for example how quickly it carries out the program to be carried out by it) depending inter alia on the frequency of the clock signal that is used.
The higher the clock signal frequency, the faster the microcontroller operates.
On the other hand, however, high clock signal frequencies lead to a high power consumption and to the disadvantages associated with this such as severe heating, as well as the production of electromagnetic radiation, etc.
In order to keep these disadvantages within bounds, efforts are being made to ensure that the various components of the microcontroller each run only as fast as is necessary for correct operation of the microcontroller. This is generally achieved by producing a number of clock signals at different frequencies in the microcontroller, and by supplying these different clock signals to the various components. This makes it possible, for example, to supply the core C with a very high-frequency clock signal, and to supply specific periphery units, such as a D/A converter, with a clock signal at a lower clock frequency, for example with a clock signal at half the clock frequency.
However, the fact that certain components of the microcontroller are supplied with a clock signal at a lower frequency influences not only the relevant components themselves but can also influence components which are supplied with a clock signal at a high frequency. This is the case, for example, when a component which operates at a high clock frequency, that is to say by way of example the core C, wishes to transmit data to a component which is operating at a lower clock frequency, for example to the D/A converter. In this case, the core C must produce the data to be transmitted for a longer time at its outputs than would be the case if the receiver of the data were a component which was operating at the same clock frequency as the core C. This is due to the fact that the clock edges by means of which the D/A converter can accept data occur at comparatively long time intervals, and because the core C must furthermore continue to provide the data to be transferred until the D/A converter has acknowledged correct reception of the data, in which case the acknowledgement process also takes a certain amount of time owing to the necessity to synchronize the core and the D/A converter by means of flipflops or the like which are arranged between them. The core C can thus be blocked for a greater or lesser time as a result of which, overall, it operates more slowly than would be possible on the basis of its clock frequency.
At least some of the problems which have been mentioned can be overcome by operating the components alternately using clock signals at different frequencies. However, the production of clock signals at different frequencies and passing these clock signals to the components that use them are associated with a high degree of complexity, and are likewise also associated with considerable disadvantages.